package prh25.biblioteca.entity;

import javax.persistence.Basic;
import javax.persistence.Entity;
import javax.persistence.ManyToOne;



/**
 * @author Wilson
 */
@Entity
public class ProjetoPesquisa extends AbstractEntity {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Basic
	private String nome;

	@Basic
	private String curso;

	@Basic
	private String duracao;

	@Basic
	private String status;

	@Basic
	private String descricao;

	@ManyToOne(optional = true)
	private Professor professor;

	/**
	 * Construtor vazio da classe Projeto de Pesquisa.
	 */
	public ProjetoPesquisa(){
		this.uid();
	}
	
	/**
	 * 
	 * @return O nome do projeto de pesquisa.
	 */
	public String getNome() {
		return nome;
	}

	/**
	 * Altera o nome do projeto de pesquisa.
	 * @param nome - O novo nome do projeto de pesquisa.
	 */
	public void setNome(String nome) {
		this.nome = nome;
	}

	/**
	 * 
	 * @return O curso o qual projeto de pesquisa faz parte.
	 */
	public String getCurso() {
		return curso;
	}

	/**
	 * Altera o curso do projeto de pesquisa.
	 * @param curso - O novo curso do projeto de pesquisa.
	 */
	public void setCurso(String curso) {
		this.curso = curso;
	}

	/**
	 * 
	 * @return A duracao do projeto de pesquisa.
	 */
	public String getDuracao() {
		return duracao;
	}

	/**
	 * Altera a duracao do projeto de pesquisa.
	 * @param duracao - A nova duracao do projeto de pesquisa.
	 */
	public void setDuracao(String duracao) {
		this.duracao = duracao;
	}

	/**
	 * 
	 * @return O status do projeto de pesquisa, se ele estah no inicio,
	 * em andamento ou concluido.
	 */
	public String getStatus() {
		return status;
	}

	/**
	 * Altera o status do projeto de pesquisa.
	 * @param status - O novo status do projeto de pesquisa.
	 */
	public void setStatus(String status) {
		this.status = status;
	}

	/**
	 * 
	 * @return A descricao do projeto de pesquisa.
	 */
	public String getDescricao() {
		return descricao;
	}

	/**
	 * Altera a descricao do projeto de pesquisa.
	 * @param descricao - A nova descricao do projeto de pesquisa.
	 */
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	/**
	 * 
	 * @return O professor que submeteu o projeto de pesquisa.
	 */
	public Professor getProfessor() {
		return professor;
	}

	/**
	 * Altera o professor que submeteu o projeto de pesquisa.
	 * @param professor - O novo professor do projeto de pesquisa.
	 */
	public void setProfessor(Professor professor) {
		this.professor = professor;
	}

}
